package reflex_and_annotation.a_get_class;

import reflex_and_annotation.entity.User;

/**
 * 获取class对象的三种方式
 */
public class Test {
    public static void main(String[] args) throws ClassNotFoundException {
        // 1.通过全限类名加载（最常用）
        Class c1 = method1();
        System.out.println(c1);
        // 2.通过类名.class属性获取
        Class c2 = method2();
        System.out.println(c2);
        // 3.通过对象的getClass方法获取
        Class c3 = method3();
        System.out.println(c3);
    }

    /**
     * 通过全限类名加载（最常用）
     * @return
     * @throws ClassNotFoundException
     */
    private static Class method1() throws ClassNotFoundException {
        return Class.forName("reflex_and_annotation.entity.User");
    }

    /**
     * 通过类名.class属性获取
     * @return
     */
    private static Class method2() {
        return User.class;
    }

    /**
     * 通过对象.getClass方法获取
     * @return
     */
    private static Class method3() {
        return new User().getClass();
    }
}
